package com.itheima.api.stream.demo01;

import java.util.ArrayList;

/**
 * Stream初次体验
 */
public class StreamDemo01 {

    /**
     * 1. 创建一个集合，存储多个字符串元素
     * 2. 把集合中所有以"张"开头的元素存储到一个新的集合
     * 3. 把"张"开头的集合中的长度为3的元素存储到一个新的集合
     * 4. 遍历上一步得到的集合
     */
    public static void main(String[] args) {

        // 创建一个集合，存储多个字符串元素
        ArrayList<String> arrayList = new ArrayList<String>() ;
        arrayList.add("张三丰");
        arrayList.add("张无忌");
        arrayList.add("张翠山");
        arrayList.add("王二麻子");
        arrayList.add("张良") ;
        arrayList.add("谢广坤");

        // 把集合中所有以"张"开头的元素存储到一个新的集合
        ArrayList<String> newArrayList = new ArrayList<String>() ;
        for(String s : arrayList) {
            if(s.startsWith("张")) {
                newArrayList.add(s) ;
            }
        }

        // 把"张"开头的集合中的长度为3的元素存储到一个新的集合
        ArrayList<String> resultArrayList = new ArrayList<String>() ;
        for(String s : newArrayList) {
            if(s.length() == 3) {
                resultArrayList.add(s) ;
            }
        }

        // 遍历上一步得到的集合
        for(String s : resultArrayList) {
            System.out.println(s);
        }

        System.out.println("---------------------------------------------------");

        // 使用stream流
        arrayList.stream().filter( s -> s.startsWith("张")).filter( s -> s.length() == 3).forEach( s -> System.out.println(s));

    }

}














